5 休息中の凝集性に影響する要因
以下の分析では、オスからの攻撃のリスクが群れの凝集性に影響するかを検討する。
5.1 データの加工
まず、休息集団内のメス数と、3m以内のメス数、5m以内のメス数(2019は除く)を算出する。また、近接に群れオスがいたかを示した列を作成する。
## 近接メス情報の作成
adult18 <- unique(female18 %>% filter(age >= 6) %>% .$femaleID)
adult19 <- unique(female19 %>% filter(age >= 6) %>% .$femaleID)
adult20 <- unique(female20 %>% filter(age >= 6) %>% .$femaleID)
adult21 <- unique(female21 %>% filter(age >= 6) %>% .$femaleID)
focal_raw_fin %>%
separate(x0_1m, into = str_c("x0_1m",1:11), sep = ",") %>%
separate(x1_3m, into = str_c("x1_3m",1:15), sep = ",") %>%
separate(x3_5m, into = str_c("x3_5m",1:16), sep = ",") %>%
separate(x5_10m, into = str_c("x5_10m", 1:9), sep = ",") %>%
pivot_longer(cols = x0_1m1:x5_10m5,
names_to = "proximity",
values_to = "ID") %>%
mutate(proximity = ifelse(str_detect(proximity,"x0_1m"),"x0_1m",
ifelse(str_detect(proximity,"x1_3m"),"x1_3m",
ifelse(str_detect(proximity,"x3_5m"),"x3_5m",
ifelse(str_detect(proximity,"x5_10m"),"x5_10m","NA"))))) %>%
filter(!is.na(ID)) -> focal_prox
## 休息集団
RG_female <- focal_prox %>%
filter(RG == "1") %>%
filter((study_period == "m18" & ID %in% adult18)|(study_period == "m19" & ID %in% adult19)|
(study_period == "m20" & ID %in% adult20)|(study_period == "m21" & ID %in% adult21)) %>%
group_by(date, no_focal, time) %>%
summarise(RGfemale = n()) %>%
ungroup()
## 休息集団内の発情メス数
focal_prox %>%
filter(RG == "1") %>%
filter((study_period == "m18" & ID %in% adult18)|(study_period == "m19" & ID %in% adult19)|
(study_period == "m20" & ID %in% adult20)|(study_period == "m21" & ID %in% adult21)) %>%
select(date, no_focal, time, ID) %>%
left_join(female_all %>% select(date, femaleID, rs2), by = c("date","ID" = "femaleID")) %>%
filter(rs2 == "1") %>%
group_by(date, no_focal, time) %>%
summarise(RGest = n()) -> RGest_female
## 休息集団内に各オスがいるか否か
RG_TY <- focal_prox %>%
filter(RG == "1") %>%
select(date, no_focal, time, ID) %>%
filter(ID == "TY") %>%
mutate(RG_TY = 1) %>%
select(-ID)
RG_IT <- focal_prox %>%
filter(RG == "1") %>%
select(date, no_focal, time, ID) %>%
filter(ID == "IT") %>%
mutate(RG_IT = 1) %>%
select(-ID)
RG_LK <- focal_prox %>%
filter(RG == "1") %>%
select(date, no_focal, time, ID) %>%
filter(ID == "LK") %>%
mutate(RG_LK = 1) %>%
select(-ID)
RG_KR <- focal_prox %>%
filter(RG == "1") %>%
select(date, no_focal, time, ID) %>%
filter(ID == "KR") %>%
mutate(RG_KR = 1) %>%
select(-ID)
## 3m、5m近接
focal_prox %>%
mutate(ID = str_replace(ID, "\\(F\\)","")) %>%
mutate(ID = str_replace(ID, "\\(M\\)","")) %>%
mutate(ID = str_replace(ID, "\\(O\\)","")) %>%
mutate(ID = str_replace(ID, "\\(N\\)","")) %>%
mutate(ID = str_replace(ID, "\\(n\\)","")) %>%
filter((study_period == "m18" & ID %in% adult18)|(study_period == "m19" & ID %in% adult19)|
(study_period == "m20" & ID %in% adult20)|(study_period == "m21" & ID %in% adult21)) -> focal_prox_all
focal_prox_all %>%
filter(proximity %in% c("x0_1m","x1_3m")) %>%
group_by(date, no_focal, time) %>%
summarise(x3m_female = n()) %>%
ungroup() -> x3m_female
focal_prox_all %>%
filter(proximity %in% c("x0_1m","x1_3m","x3_5m")) %>%
group_by(date, no_focal, time) %>%
summarise(x5m_female = n()) %>%
ungroup() -> x5m_female
## 元データに結合
focal_raw_fin %>%
left_join(RG_female, by = c("date","no_focal","time")) %>%
left_join(RGest_female, by = c("date","no_focal","time")) %>%
left_join(x3m_female, by = c("date","no_focal","time")) %>%
left_join(x5m_female, by = c("date","no_focal","time")) %>%
left_join(RG_TY, by = c("date","no_focal","time")) %>%
left_join(RG_IT, by = c("date","no_focal","time")) %>%
left_join(RG_LK, by = c("date","no_focal","time")) %>%
left_join(RG_KR, by = c("date","no_focal","time")) %>%
replace_na(list(RGfemale = 0, RGest = 0, x3m_female = 0, x5m_female =0, RG_TY = 0,
RG_IT = 0, RG_LK = 0, RG_KR = 0)) %>%
replace_na(list(x0_1m = "NA",x1_3m = "NA", x3_5m = "NA", x5_10m = "NA")) %>%
mutate(RGfemale_plus1 = RGfemale + 1) %>%
## TYとITの情報を追加
mutate(TY_10m = ifelse(str_detect(x0_1m,"TY")|str_detect(x1_3m,"TY")|str_detect(x3_5m,"TY")|str_detect(x5_10m,"TY"),1,0),
TY_5m = ifelse(str_detect(x0_1m,"TY")|str_detect(x1_3m,"TY")|str_detect(x3_5m,"TY"),1,0),
TY_3m = ifelse(str_detect(x0_1m,"TY")|str_detect(x1_3m,"TY"),1,0)) %>%
mutate(IT_10m = ifelse(str_detect(x0_1m,"IT")|str_detect(x1_3m,"IT")|str_detect(x3_5m,"IT")|str_detect(x5_10m,"IT"),1,0),
IT_5m = ifelse(str_detect(x0_1m,"IT")|str_detect(x1_3m,"IT")|str_detect(x3_5m,"IT"),1,0),
IT_3m = ifelse(str_detect(x0_1m,"IT")|str_detect(x1_3m,"IT"),1,0)) %>%
mutate(KR_10m = ifelse(str_detect(x0_1m,"KR")|str_detect(x1_3m,"KR")|str_detect(x3_5m,"KR")|str_detect(x5_10m,"KR"),1,0),
KR_5m = ifelse(str_detect(x0_1m,"KR")|str_detect(x1_3m,"KR")|str_detect(x3_5m,"KR"),1,0),
KR_3m = ifelse(str_detect(x0_1m,"KR")|str_detect(x1_3m,"KR"),1,0)) %>%
mutate(LK_10m = ifelse(str_detect(x0_1m,"LK")|str_detect(x1_3m,"LK")|str_detect(x3_5m,"LK")|str_detect(x5_10m,"LK"),1,0),
LK_5m = ifelse(str_detect(x0_1m,"LK")|str_detect(x1_3m,"LK")|str_detect(x3_5m,"LK"),1,0),
LK_3m = ifelse(str_detect(x0_1m,"LK")|str_detect(x1_3m,"LK"),1,0)) %>%
left_join(base_all %>% select(date,temp_am,temp_pm)) -> focal_raw_proxその日群れ内にいた血縁個体数を書く。
kin <- read_csv("data/kin.csv")
focal_raw_fin %>%
distinct(study_period, date,no_focal, subject) %>%
left_join(female_all %>% select(date, femaleID, presence)) %>%
filter(!(subject == femaleID)) %>%
left_join(kin, by = c("study_period", "subject","femaleID")) %>%
mutate(kin_presence = ifelse(presence == "1" & kin > 0.0625,1,0)) %>%
left_join(att, by = c("study_period","femaleID")) %>%
filter(age >= 6) %>%
group_by(no_focal, date, subject) %>%
summarise(no_kin = sum(kin_presence)) %>%
ungroup() -> focal_numkin
focal_raw_prox %>%
left_join(focal_numkin, by = c("no_focal","date","subject")) -> focal_raw_prox_bその日観察したオトナメスへの攻撃頻度も追加する。各観察日に観察された群れオス/群れ外オスからの攻撃の頻度を算出し、個体追跡データにくっつける。
aggression_all %>%
left_join(males, by = c("aggressor" = "maleID","study_period")) %>%
drop_na(ntm) %>%
group_by(date, ntm) %>%
summarise(agg = n()) %>%
ungroup() %>%
pivot_wider(names_from = ntm,
values_from = agg) %>%
rename("agg_tm" = 2, "agg_ntm" = 3) %>%
left_join(base_all %>% select(date, duration)) %>%
filter(duration >= 300) %>%
replace_na(list(agg_tm = 0, agg_ntm = 0)) %>%
mutate(rate_tm = agg_tm*60/duration,
rate_ntm = agg_ntm*60/duration) -> aggression_daily
aggression_all %>%
group_by(date) %>%
summarise(agg = n()) %>%
ungroup() %>%
left_join(base_all %>% select(date, duration)) %>%
filter(duration >= 300) %>%
replace_na(list(agg = 0)) %>%
mutate(rate_agg = agg*60/duration) -> aggression_daily_all
focal_raw_prox_b %>%
left_join(aggression_daily, by = "date") %>%
left_join(aggression_daily_all, by = "date") -> focal_raw_prox_fin作成したデータは以下の通り。